export class FocusListModel {
    itemList: FocusItemList[];
    count: number;
    total: number;
    nextPageUrl: string;
    adExist: boolean;
    updateTime: any;
    refreshCount: number;
    lastStartId: number;
}

export class FocusFollow {
    itemType: string;
    itemId: number;
    followed: boolean;
}

export class FocusHeader {
    id: number;
    icon: string;
    iconType: string;
    title: string;
    subTitle: any;
    description: string;
    actionUrl: string;
    adTrack: any;
    follow: FocusFollow;
    ifPgc: boolean;
    uid: number;
    ifShowNotificationIcon: boolean;
    expert: boolean;
}

export class FocusTags {
    id: number;
    name: string;
    actionUrl: string;
    adTrack: any;
    desc: string;
    bgPicture: string;
    headerImage: string;
    tagRecType: string;
    childTagList: any;
    childTagIdList: any;
    haveReward: boolean;
    ifNewest: boolean;
    newestEndTime: any;
    communityIndex: number;
}

export class FocusConsumption {
    collectionCount: number;
    shareCount: number;
    replyCount: number;
    realCollectionCount: number;
}

export class FocusProvider {
    name: string;
    alias: string;
    icon: string;
}

export class FocusShield {
    itemType: string;
    itemId: number;
    shielded: boolean;
}

export class FocusAuthor {
    id: number;
    icon: string;
    name: string;
    description: string;
    link: string;
    latestReleaseTime: number;
    videoNum: number;
    adTrack: any;
    follow: FocusFollow;
    shield: FocusShield;
    approvedNotReadyVideoCount: number;
    ifPgc: boolean;
    recSort: number;
    expert: boolean;
}

export class FocusCover {
    feed: string;
    detail: string;
    blurred: string;
    sharing: any;
    homepage: any;
}

export class FocusWebUrl {
    raw: string;
    forWeibo: string;
}

export class FocusUrlList {
    name: string;
    url: string;
    size: number;
}

export class FocusPlayInfo {
    height: number;
    width: number;
    urlList: FocusUrlList[];
    name: string;
    type: string;
    url: string;
}

export class FocusVideoPosterBean {
    scale: number;
    url: string;
    fileSizeStr: string;
}


export class FocusItemList {
    type: string;
    data: FocusListItemData;
    trackingData: any;
    tag: any;
    id: number;
    adIndex: number;
}



export class Tags {
    id: number;
    name: string;
    actionUrl: string;
    adTrack: any;
    desc: string;
    bgPicture: string;
    headerImage: string;
    tagRecType: string;
    childTagList: any;
    childTagIdList: any;
    haveReward: boolean;
    ifNewest: boolean;
    newestEndTime: any;
    communityIndex: number;
}

export class Consumption {
    collectionCount: number;
    shareCount: number;
    replyCount: number;
    realCollectionCount: number;
}

export class Provider {
    name: string;
    alias: string;
    icon: string;
}

export class Follow {
    itemType: string;
    itemId: number;
    followed: boolean;
}

export class Shield {
    itemType: string;
    itemId: number;
    shielded: boolean;
}

export class Author {
    id: number;
    icon: string;
    name: string;
    description: string;
    link: string;
    latestReleaseTime: number;
    videoNum: number;
    adTrack: any;
    follow: Follow;
    shield: Shield;
    approvedNotReadyVideoCount: number;
    ifPgc: boolean;
    recSort: number;
    expert: boolean;
}

export class Cover {
    feed: string;
    detail: string;
    blurred: string;
    sharing: any;
    homepage: any;
}

export class WebUrl {
    raw: string;
    forWeibo: string;
}

export class UrlList {
    name: string;
    url: string;
    size: number;
}

export class PlayInfo {
    height: number;
    width: number;
    urlList: UrlList[];
    name: string;
    type: string;
    url: string;
}

export class VideoPosterBean {
    scale: number;
    url: string;
    fileSizeStr: string;
}

export class FocusListItemData {
    dataType: string;
    id: number;
    title: string;
    description: string;
    library: string;
    tags: Tags[];
    consumption: Consumption;
    resourceType: string;
    slogan: any;
    provider: Provider;
    category: string;
    author: Author;
    cover: Cover;
    playUrl: string;
    thumbPlayUrl: any;
    duration: number;
    webUrl: WebUrl;
    releaseTime: number;
    playInfo: PlayInfo[];
    campaign: any;
    waterMarks: any;
    ad: boolean;
    adTrack: any[];
    type: string;
    titlePgc: string;
    descriptionPgc: string;
    remark: any;
    ifLimitVideo: boolean;
    searchWeight: number;
    brandWebsiteInfo: any;
    videoPosterBean: VideoPosterBean;
    idx: number;
    shareAdTrack: any;
    favoriteAdTrack: any;
    webAdTrack: any;
    date: number;
    promotion: any;
    label: any;
    labelList: any[];
    descriptionEditor: string;
    collected: boolean;
    reallyCollected: boolean;
    played: boolean;
    subtitles: any[];
    lastViewTime: any;
    playlists: any;
    src: any;
    recallSource: any;
    recall_source: any;
    header: FocusHeader;
    itemList: FocusItemList[];
    count: number;
    footer: any;
}